package cn.com.zero.db.util;

import cn.com.zero.db.vo.PageParamsVO;
import cn.com.zero.db.vo.PageVO;
import com.github.pagehelper.ISelect;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.apache.ibatis.binding.MapperProxy;

/**
 * @author xiongxj
 * @version 1.0.0
 * @Description 分页查询工具类
 * @createTime 2023/2/9 10:00
 */
public class PageQueryUtil {

    /**
     * 获取分页信息
     *
     * @param pageParams 分页参数
     * @param select     查询接口实现
     * @return 分页信息
     */
    public static <T> PageVO<T> getPageInfo(PageParamsVO pageParams, ISelect select) {
        Page<T> page = PageHelper.startPage(pageParams).doSelectPage(select);
        MapperProxy mp;
        PageVO<T> pageVo = new PageVO<>();
        pageVo.setPages(page.getPages());
        pageVo.setTotal(page.getTotal());
        pageVo.setList(page);

        return pageVo;
    }
}
